package com.fc.calculators;

import java.math.RoundingMode

import org.springframework.stereotype.Service

/**
 * Hogyan számoljuk ki a BMI-t? 
 * Ha elosztjuk a testsúlyt (kg-ban kifejezett) értékét a testmagasság (méterben kifejezett) értékének négyezetével, megkapjuk a BMI -t. 
 * BMI = Kg / m2. 
 * Példa: Ha valaki például 65 kg, és a testmagassága 1,70m. BMI = 65 : 1,7^2 = 65 : 2,89 = 22,49 - Normális érték. 
 *
 * @author Ács Ádám
 *
 */
@Service("bmiCalculator")
class BmiCalculator {
	static final int SCALE = 2;

	BigDecimal calculate(int weight, int height) {
		double heightSquareInMeters = Math.pow(height / 100d, 2);
		return BigDecimal.valueOf(weight / heightSquareInMeters).setScale(SCALE, RoundingMode.HALF_UP);
	}
}
